Providing wireless internet access using autonomous vehicles

ABSTRACT

Autonomous vehicles such as UAVs or cars provide network access points. User devices connect to the network access points and network access is monitored. User location data is also monitored. A profile of the user is generated from the gathered data. Advertisements are selected based on a profile of the user and the current location of the user. The autonomous vehicles may be distributed geographically to provide a network access to a geographic area. In response to detecting that a user device is moving out of a coverage area of an autonomous vehicle, nearby autonomous vehicles are identified. If the user device is in the coverage area of a nearby autonomous vehicle, the network connection to the user device is transferred to that vehicle.

This application is a continuation of U.S. application Ser. No.15/486,015 filed Apr. 12, 2017, which claims the benefit of U.S.Provisional Application No. 62/322,023 filed Apr. 13, 2016, entitledPROVIDING WIRELESS INTERNET ACCESS USING AUTONOMOUS VEHICLES (AttorneyDocket No. 8842-140087-USPR_1079US01), all of which are incorporated byreference in their entirety herein.

FIELD OF THE INVENTION

This invention relates to systems and methods for providing wirelessInternet access points.

BACKGROUND OF THE INVENTION

Smartphones and tablet computers are ever more prevalent. Many computingtasks are performed on mobile devices. However, many computing tasks areInternet-based. Accordingly, a mobile device must have a cellular dataconnection in order to perform many such tasks. Some mobile devices,such as many tablet computers, lack a cellular data connection. Acellular data plan may also place limits on the amount of data sent andreceived and the cost for increasing this amount may be very high.

The systems and methods described herein provide an improved approachfor providing Internet connectivity to mobile devices.

BRIEF DESCRIPTION OF THE DRAWINGS

In order that the advantages of the invention will be readilyunderstood, a more particular description of the invention brieflydescribed above will be rendered by reference to specific embodimentsillustrated in the appended drawings. Understanding that these drawingsdepict only typical embodiments of the invention and are not thereforeto be considered limiting of its scope, the invention will be describedand explained with additional specificity and detail through use of theaccompanying drawings, in which:

FIG. 1 is a schematic block diagram of a network environment suitablefor implementing embodiments of the invention;

FIG. 2 is a schematic block diagram of an example computing devicesuitable for implementing methods in accordance with embodiments of theinvention;

FIG. 3 is a diagram illustrating the availability of networkconnectivity provided by autonomous vehicles in accordance with anembodiment of the invention;

FIG. 4 is a process flow diagram of a method providing Internetconnectivity using autonomous vehicles in accordance with an embodimentof the present invention; and

FIG. 5 is a process flow diagram of a method for transferring a networkconnection in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION

It will be readily understood that the components of the presentinvention, as generally described and illustrated in the Figures herein,could be arranged and designed in a wide variety of differentconfigurations. Thus, the following more detailed description of theembodiments of the invention, as represented in the Figures, is notintended to limit the scope of the invention, as claimed, but is merelyrepresentative of certain examples of presently contemplated embodimentsin accordance with the invention. The presently described embodimentswill be best understood by reference to the drawings, wherein like partsare designated by like numerals throughout.

Embodiments in accordance with the present invention may be embodied asan apparatus, method, or computer program product. Accordingly, thepresent invention may take the form of an entirely hardware embodiment,an entirely software embodiment (including firmware, resident software,micro-code, etc.), or an embodiment combining software and hardwareaspects that may all generally be referred to herein as a “module” or“system.” Furthermore, the present invention may take the form of acomputer program product embodied in any tangible medium of expressionhaving computer-usable program code embodied in the medium.

Any combination of one or more computer-usable or computer-readablemedia may be utilized. For example, a computer-readable medium mayinclude one or more of a portable computer diskette, a hard disk, arandom access memory (RAM) device, a read-only memory (ROM) device, anerasable programmable read-only memory (EPROM or Flash memory) device, aportable compact disc read-only memory (CDROM), an optical storagedevice, and a magnetic storage device. In selected embodiments, acomputer-readable medium may comprise any non-transitory medium that cancontain, store, communicate, propagate, or transport the program for useby or in connection with the instruction execution system, apparatus, ordevice.

Computer program code for carrying out operations of the presentinvention may be written in any combination of one or more programminglanguages, including an object-oriented programming language such asJava, Smalltalk, C++, or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on acomputer system as a stand-alone software package, on a stand-alonehardware unit, partly on a remote computer spaced some distance from thecomputer, or entirely on a remote computer or server. In the latterscenario, the remote computer may be connected to the computer throughany type of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).

The present invention is described below with reference to flowchartillustrations and/or block diagrams of methods, apparatus (systems) andcomputer program products according to embodiments of the invention. Itwill be understood that each block of the flowchart illustrations and/orblock diagrams, and combinations of blocks in the flowchartillustrations and/or block diagrams, can be implemented by computerprogram instructions or code. These computer program instructions may beprovided to a processor of a general purpose computer, special purposecomputer, or other programmable data processing apparatus to produce amachine, such that the instructions, which execute via the processor ofthe computer or other programmable data processing apparatus, createmeans for implementing the functions/acts specified in the flowchartand/or block diagram block or blocks.

These computer program instructions may also be stored in anon-transitory computer-readable medium that can direct a computer orother programmable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablemedium produce an article of manufacture including instruction meanswhich implement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer implemented process such that theinstructions which execute on the computer or other programmableapparatus provide processes for implementing the functions/actsspecified in the flowchart and/or block diagram block or blocks.

Referring to FIG. 1, a network environment 100 may be used to implementmethods as described herein. The environment 100 may include a serversystem 102 operated by a retailer. The server system 102 may host oraccess a database 104 including a plurality of user records 106. Eachuser record 106 may correspond to a user that has one or both of used amobile application provided by the retailer or accessed a wirelessnetwork connection provided according to the systems and methodsdisclosed herein.

The user record 106 of a user may include a browser history 108 a. Thebrowser history 108 a may store a listing and date of access of websites, a record of data input to websites (e.g. fillable form elements),and other information relating to a user's activity conducted through abrowser or other network-connected application.

The user record 106 may further include a profile 108 b. The profile 108b may store attributes of the user that are either provided explicitlyby the user or inferred from the user's purchasing activity, browsingactivity, or other data obtained from the user. Data inferred mayinclude income, age, gender, interests (sports, hobbies, etc.), and thelike. The manner in which attributes and interests of a user areinferred may be performed according to any method known in the art forcharacterizing consumers based on online activity, such as thosedescribed in U.S. application Ser. No. 13/601,604, entitled DETERMININGGIFTABILITY OF A PRODUCT, filed Aug. 31, 2012, which is herebyincorporated herein by reference in its entirety.

The user record 106 may further include location data 108 c. A retailermay offer an application executing on a mobile device of the user andthat reports locations where the application is accessed, i.e. by usingreporting a GPS location of the mobile device when the application isexecuting thereon. Accordingly, these locations along with the date andtime the locations were reported may be stored as location data 108 c. Alocation of a user device may also be inferred based on a location of anautonomous vehicle to which the user device has established a networkconnection. Accordingly, this inferred location with a time at which theconnection existed may be stored in the location data 108 c.

As described in greater detail herein, autonomous vehicles 110 mayprovide wireless network connections to mobile devices in theirvicinity. Accordingly, an autonomous vehicle 110 may be provided withone or more transceivers 112 a, 112 b that are capable of sending andreceiving data. In some embodiments, a control transceiver 112 areceives instructions controlling the movement of the autonomous vehicle110 and transmits signals regarding the status and location of theautonomous vehicle 110. An access transceiver 112 b transfers databetween a network 114 and a mobile device 116 having a wirelessconnection to the transceiver 112 b. The mobile device 116 may beembodied as a smart phone, tablet computer, laptop computer, wearablecomputing device, or any other type of computing device.

The autonomous vehicles 110 may include unmanned aerial vehicles (UAVs),such as quad copter drones or other types of drones. The autonomousvehicles 110 may include cars, trucks, or other rolling vehicle.Although autonomous vehicles 110 are described throughout thisapplication, a transceiver 112 b may also be housed within anon-autonomous vehicle, such as trucks delivering products to retaillocations or other vehicles dedicated to providing roaming Internetaccess.

The network 114 may include any wired or wireless connections and mayinclude some or all of a local area network (LAN), wide area network(WAN), the Internet, or other type of network. The server system 102 mayalso be coupled to the network 102. In some embodiments, network trafficto and from the transceivers 112 b of the autonomous vehicles 110 may berouted through the server 102, such that analysis of the traffic may beperformed. Accordingly, the server 102 may be connected to the Internetthrough the network 114 or some other network.

FIG. 2 is a block diagram illustrating an example computing device 200.Computing device 200 may be used to perform various procedures, such asthose discussed herein. The server system 102, transceivers 112 a, 112b, and user computing device 116 may have some or all of the attributesof the computing device 200. Computing device 200 can function as aserver, a client, or any other computing entity. Computing device canperform various monitoring functions as discussed herein, and canexecute one or more application programs, such as the applicationprograms described herein. Computing device 200 can be any of a widevariety of computing devices, such as a desktop computer, a notebookcomputer, a server computer, a handheld computer, a tablet computer andthe like. A server system 102 may include one or more computing devices200 each including one or more processors.

Computing device 200 includes one or more processor(s) 202, one or morememory device(s) 204, one or more interface(s) 206, one or more massstorage device(s) 208, one or more Input/Output (I/O) device(s) 210, anda display device 230 all of which are coupled to a bus 212. Processor(s)202 include one or more processors or controllers that executeinstructions stored in memory device(s) 204 and/or mass storagedevice(s) 208. Processor(s) 202 may also include various types ofcomputer-readable media, such as cache memory.

Memory device(s) 204 include various computer-readable media, such asvolatile memory (e.g., random access memory (RAM) 214) and/ornonvolatile memory (e.g., read-only memory (ROM) 216). Memory device(s)204 may also include rewritable ROM, such as Flash memory.

Mass storage device(s) 208 include various computer readable media, suchas magnetic tapes, magnetic disks, optical disks, solid-state memory(e.g., Flash memory), and so forth. As shown in FIG. 2, a particularmass storage device is a hard disk drive 224. Various drives may also beincluded in mass storage device(s) 208 to enable reading from and/orwriting to the various computer readable media. Mass storage device(s)208 include removable media 226 and/or non-removable media.

I/O device(s) 210 include various devices that allow data and/or otherinformation to be input to or retrieved from computing device 200.Example I/O device(s) 210 include cursor control devices, keyboards,keypads, microphones, monitors or other display devices, speakers,printers, network interface cards, modems, lenses, CCDs or other imagecapture devices, and the like.

Display device 230 includes any type of device capable of displayinginformation to one or more users of computing device 200. Examples ofdisplay device 230 include a monitor, display terminal, video projectiondevice, and the like.

Interface(s) 206 include various interfaces that allow computing device200 to interact with other systems, devices, or computing environments.Example interface(s) 206 include any number of different networkinterfaces 220, such as interfaces to local area networks (LANs), widearea networks (WANs), wireless networks, and the Internet. Otherinterface(s) include user interface 218 and peripheral device interface222. The interface(s) 206 may also include one or more peripheralinterfaces such as interfaces for printers, pointing devices (mice,track pad, etc.), keyboards, and the like.

Bus 212 allows processor(s) 202, memory device(s) 204, interface(s) 206,mass storage device(s) 208, I/O device(s) 210, and display device 230 tocommunicate with one another, as well as other devices or componentscoupled to bus 212. Bus 212 represents one or more of several types ofbus structures, such as a system bus, PCI bus, IEEE 1394 bus, USB bus,and so forth.

For purposes of illustration, programs and other executable programcomponents are shown herein as discrete blocks, although it isunderstood that such programs and components may reside at various timesin different storage components of computing device 200, and areexecuted by processor(s) 202. Alternatively, the systems and proceduresdescribed herein can be implemented in hardware, or a combination ofhardware, software, and/or firmware. For example, one or moreapplication specific integrated circuits (ASICs) can be programmed tocarry out one or more of the systems and procedures described herein.

Turning now to FIG. 3, a plurality of autonomous vehicles 110 a-110 cmay be distributed geographically. The vehicles 110 a-110 c may beprogrammed or instructed by the server system 102 to follow a predefinedor dynamically-determined path such that the combination of vehicles 110a-110 c provides network connectivity to a substantial portion of ageographic area, preferably at least 50 percent, and more preferably atleast 90 percent of a geographic area that encompasses all of thevehicles 110 a-110 c.

For example, as shown, each autonomous vehicle 110 a-110 c may providenetwork connectivity within a region 300 a-300 c surrounding it. Asdescribed in detail below, a mobile device 116 may establish a networkconnection to autonomous vehicle 110 c while within its coverage area300 c. Subsequently, this network connection is transferred to anotherautonomous vehicle 110 b in response to movement of the mobile device116 out of coverage area 300 c into coverage area 300 b as shown by thedotted representation of the device 116.

The coverage area 300 a-300 c covered by the autonomous vehicles 110a-110 c may be augmented by other network access points, such as mannedvehicles including transceivers 112 b, fixed network access pointsmounted to buildings or other structures, and the like. For example,network access points may be housed in retail locations, vendingmachines, residences, or other locations. The network access points inaddition to the autonomous vehicles 110 a-110 b may include networkaccess points offered by a third party other than the retailer operatingthe autonomous vehicles.

The network access points providing coverage to an area may operate asstand-alone Wi-Fi hubs and/or routers that allow any computer with aWi-Fi network adapter to communicate with any other computer connectedto the Internet. A plurality of network access points may interact toform an ad hoc peer-to-peer network. Other network access points mayprovide Wi-Fi connections to other computers and also provide a wiredconnection to a wired network.

Referring to FIG. 4, the illustrated method 400 may be executed by atransceiver 112 b in combination with a server system 102. The method400 may include establishing 402 a network connection between thetransceiver 112 b of a first autonomous vehicle 110 a and a user device116. The network connection maybe a Wi-Fi connection or a wirelessconnection according to any wireless data connection protocol known inthe art.

The method 400 may further include routing network traffic 404 over thenetwork connection. This may include transmitting requests for web pagesor other content from the user device 116 by way of the transceiver 112b to the server system 102. The server system 102 may then retrieve therequested web page or other content and return it to the user device 116by way of the transceiver 112 b to which the user device 116 isconnected.

The method 400 may further include monitoring 406 network traffic. Inparticular, monitoring 406 may include determining webpages visited,information supplied by the user to forms in webpages, video contentretrieved, documents retrieved, and other information regarding theuser's browsing activity. The data obtained from a user may furtherinclude browser data such as cookies, browser history, websiteinformation, and profile information purged from other profiles createdon other websites. While a connection to a transceiver 112 b exists, aproxy of the user device 116 may be stored in the user record 106 of theuser as well. Monitoring 406 may be performed by the transceiver 112 bor by the server system 102 through which network traffic is routed 404.

The method 400 may further include generating 408 a profile of a userbased on the monitored network traffic. Generating 408 the profile maybe performed by the server system 102. Additional information providedby the user may also be used to generate 408 a profile, such astransactions conducted by the user with the retailer operating theserver system 102 and information supplied by the user when generating auser account.

The profile generated 408 may include information described above asbeing included in the profile 108 b. As noted above, this informationmay be inferred using any method known in the art, such as thosedescribed in U.S. application Ser. No. 13/601,604 referenced above.

The method 400 may further include monitoring 410 the location of theuser device 116. For example, the user device 116 may include a GPS(Global Positioning System) receiver that determines the location of theuser device 116. The user device 116 may then periodically transmit thislocation to the server system 102 by way of the transceiver 112 b towhich it is connected. Alternatively, the vehicle 110 in which thetransceiver 112 b is housed may have a GPS receiver and provide itslocation to the server system 102. The location of the user device 116may then be inferred to be within the coverage area of the transceiver112 b about that location. The location data obtained from monitoring410 may be used as the current location of the user in order to identifyoffers near the current location. The location data may also be used todetermine locations visited, travel trends, and other information usedto determine the user's interests.

The method 400 may then include selecting 412 advertisements for theuser and transmitting 414 the selected advertisements to the user device116. In particular the advertisements may be selected 412 andtransmitted 414 while the connection between the user device 116 andtransceiver 112 b established at step 402 exists.

Advertisements may be selected 412 from a set of advertisementsautomatically obtained from various sources. For example, the method 400may be preceded by collecting information such as offers of competitorsfor one or more products near the location of the user device 116,scheduled events in the neighborhood where the user device 116 islocated (or at another location referenced in the location data 198 c ofthe user), analysis of other customer profiles, and the dates of anyupcoming large national events. Advertisements may be selected thatrelate to some or all of this data. For example, offers matching acompetitor offer, invitations to local events, and offers for productsfor celebrating a large national event may be generated and transmittedto a user device 116. The advertisements may be for products offered bythe retailer or by a third party, such as a manufacturer, that definesoffers and other elements of an advertisement campaign that areavailable for transmission 114 to a user device 116. In someembodiments, social media data, weather data, or other trending data maybe collected to determine products that are currently popular or arelikely to popular.

Selecting 412 the advertisements may include selecting advertisementsthat are targeted to the user based on some or all of the web usage ofthe user, the profile of the user (including any expressly providedpreferences of the user), and the current location of the user device116, information gathered from the user device 116 itself (such as fromuser interaction with an application of the retailer installed on theuser device 116). In some instances, advertisements may be selected fortransmission to a user device 116 based on some or all of the abovelisted information gathered from another user device 116 coupled to oneof the network access points, such as one provided by an autonomousvehicle 110.

For example, advertisements may be selected that reference productsrelated to products searched for by the user or relating to activitiesor topics referenced by webpages requested by the user. Theadvertisements selected may include special offers currently in effectat or near the location of the user device 116. The advertisementsselected 412 may be selected based on the profile of the user as well,i.e. that relate to the interests, demographic, and/or income of theuser.

In another example, an advertisement including a lunch menu or offersfor food currently offered for sale at or near the current location ofthe user device 116 may be selected 412 and transmitted 414.

In another example, where a product is identified as being of interest,a location of a retail location at which the product is available may betransmitted at step 414. Alternatively, an advertisement selected 412may include a location of a retail location nearest the location of theuser device 116 and a description of the services and selection offeredat that retail location. The advertisements selected may relate tooffers at a physical retail location or offers available through anonline portal, i.e. an ecommerce web site.

The advertisements selected 412 may include reminders to purchaseproduct previously purchased by the user, reminders for events that willbe occurring near the location of the user device 116, and reminders toperform services that were previously used by the user or for productspreviously purchased by the user. The advertisements selected 412 mayinclude offers to purchase items for holiday layaway and for buyingproducts to be shipped to a store near the location of the user device116.

Transmitting 414 the advertisements may be performed in a variety ofways. The advertisements may be transmitted 414 as an overlay that issuperimposed around a rendering of content requested by the user on theuser device 116. Transmitting 414 the advertisements may includetransmitting 414 the advertisements for display in a retailer'sapplication executing on the user device 116. In other embodiments,advertisements 414 are transmitted as popup advertisements superimposedover content requested by the user device 116. Advertisements may betransmitted 414 and invoke functions provided by one or more browserextensions executing on the user device 116.

Advertisements may also be displayed on an autonomous vehicle 110 itselfor on another vehicle or structure providing a network access point.These advertisements may be selected in the same manner as theadvertisements selected for transmission 414 to a user device 116.

Referring to FIG. 5, the illustrated method 500 may be used to transfera network connection from one autonomous vehicle 110 to anotherautonomous vehicle 110 or other network access point. The transceivers112 b of the autonomous vehicles 110 include a controller thatfacilitates seamless transfer of a network connection between autonomousvehicles 110 in response to movement of a user device out of thecoverage area of an autonomous vehicle 110. This controller may beembodied as a UNIFI access point, a MERAKI access point, UBIQUITINETWORKS access point operating in zero-handoff mode, CISCO AIRONETaccess point, or the like.

The method 500 may include detecting 502, by the transceiver 112 b towhich a user device 116 is currently connected (“the originaltransceiver 112 b”), that a signal from a user device 116 having awireless connection to the original transceiver 112 b is below athreshold value. Alternatively, step 502 may include receiving a messagefrom the user device 116 indicating that the signal from the originaltransceiver 112 b detected by the user device 116 is below a thresholdvalue.

In response to detecting 502 the signal falling below the thresholdvalue, the method 500 may include retrieving 504 by the originaltransceiver 112 b, information for nearby transceivers 112 b. Forexample, the user device 116 may report its current location to theoriginal transceiver 112 b. The original transceiver 112 b may transmitthis location, or the original transceiver's 112 b own location to theserver system 102. The server system 102 may then identify one or moreother autonomous vehicles or other access points that are located nearthe transmitted location, i.e. from reports of the locations of theother autonomous vehicles periodically provided by them to the serversystem 102.

In another example, retrieving 504 information for nearby transceivers112 b may include detecting signals from the nearby transceivers 112 bor receiving wireless messages from the nearby transceivers 112 breporting their location. For example, the function “bgscan” may beexecuted, as known in the art.

The information received 504 from the server system 102 or from thenearby transceivers 112 b themselves may include receiving sufficientinformation to enable a user device 116 to establish a networkconnection to the nearby transceivers 112 b, such as a name of thenetwork transceiver, a key or security code for establishing a wirelessconnection to the transceivers 112 b, and the like.

The method 500 may further include evaluating 506 whether the userdevice 116 is within the coverage area of any of the nearby transceivers112 b. For example, the location of the user device 116 may be comparedto the locations of the nearby transceivers 112 b. If the distancebetween the user device 116 and at least one of the nearby transceivers112 b is less than a threshold distance, then the result of theevaluation 506 is positive.

The method 500 will therefore include invoking 508, by the originaltransceiver 112 b connection of the user device 116 to the nearbytransceiver identified at step 506. Where multiple nearby transceivers112 b meet the condition of step 506, step 508 may include invokingconnection to the nearby transceiver 112 b that is closest to the userdevice 116 (hereinafter “the selected transceiver 112 b”). Invoking 508connection may include transmitting the information retrieved at step504 to the user device 116 with an instruction to transfer the networkconnection to the original transceiver 112 b to the selected nearbytransceiver 112 b. Invoking 508 connection may include transmitting aninstruction to the selected transceiver 112 b with network informationfor the user device 116, the instruction instructing the selectedtransceiver 112 b to establish a network connection with the user device116.

The method 500 may then include transferring 510 the routing of networktraffic to and from the user device 116 to the selected transceiver 112b. Transferring 510 may include transferring a state of one or morelayers of a protocol stack to the selected transceiver 112 b andotherwise enabling the selected transceiver 112 b to continue thetransfer of network traffic without user-perceptible interruption.

If no nearby transceivers are found 506 to have the user device 116within the coverage area thereof, then the method 512 may includetransmitting 512 as list of the identifiers and/or locations of thenearby transceivers 112 b such that the user may move to the coverage ofone of these transceivers 112 b.

In some embodiments, when a user disconnects from a transceiver 112 b,this disconnection will be tracked, e.g. reported to the server system102. Additionally, when a user moves from one transceiver 112 b toanother transceiver (e.g. step 510), this action may also be tracked. Inthis manner, the transceivers 112 b to which a user is connected to, orreconnects to, will be known and may be used for analyzing a user'smovements and behavior.

The present invention may be embodied in other specific forms withoutdeparting from its spirit or essential characteristics. The describedembodiments are to be considered in all respects only as illustrative,and not restrictive. The scope of the invention is, therefore, indicatedby the appended claims, rather than by the foregoing description. Allchanges which come within the meaning and range of equivalency of theclaims are to be embraced within their scope.

What is claimed is:
 1. A method for providing internet accesscomprising: establishing, by a first autonomous vehicle of a pluralityof autonomous vehicles, a first connection to a user device with a firstwireless transceiver of the first autonomous vehicle; routing, by thefirst autonomous vehicle, network traffic between a network and the userdevice over the first connection using the first wireless transceiver ofthe first autonomous vehicle; detecting, by the first autonomous vehiclethrough the first wireless transceiver of the first autonomous vehicle,weakening of a wireless signal from the user device; and in response todetecting weakening of the wireless signal: (a) detecting, by the firstautonomous vehicle, a second autonomous vehicle of the plurality ofautonomous vehicles that is closer to the user device than the firstautonomous vehicle; (b) establishing, by the first autonomous vehicle, asecond connection to the user device with a second wireless transceiverof the second autonomous vehicle; and (c) transitioning, by the firstautonomous vehicle, routing of the network traffic to the secondconnection.
 2. The method of claim 1, wherein the plurality ofautonomous vehicles include a plurality of unmanned aerial vehicle(UAV).
 3. The method of claim 1, wherein the plurality of autonomousvehicles include a plurality of road vehicles.
 4. The method of claim 1,wherein transitioning routing of the network traffic to the secondconnection is performed without perceptible interruption of the networktraffic on the user device.
 5. The method of claim 1, wherein theplurality of autonomous vehicles are distributed over a geographic areasuch that wireless transceivers of the plurality of autonomous vehiclesprovide network access to at least 90 percent of a geographic area. 6.The method of claim 1, further comprising: detecting, by the secondautonomous vehicle through the second wireless transceiver of the secondautonomous vehicle, loss of a wireless signal from the user device;determining, by the second autonomous vehicle, that no other autonomousvehicle of the plurality of autonomous vehicles is sufficiently close tothe user device to connect to the user device; in response todetermining that no other autonomous vehicle of the plurality ofautonomous vehicles is sufficiently close to the user device to connectto the user device, transmitting, by the second autonomous vehicle, alist of locations of one or more autonomous vehicles of the plurality ofautonomous vehicles closest to the user device to enable a user of theuser device to move within a coverage area of at least one of the one ormore autonomous vehicles on the list.
 7. The method of claim 1, whereinthe first and second connections are WI-FI connections.
 8. The method ofclaim 1, further comprising: monitoring, by a server system coupled tothe first and second transceivers of the first and second autonomousvehicles, the network traffic; identifying, by the server system,advertisements relating to content in the network traffic; andtransmitting, by the server system, the advertisements to the userdevice.
 9. The method of claim 1, further comprising: monitoring, by aserver system coupled to the first and second transceivers of the firstand second autonomous vehicles, a location of the user device;identifying, by the server system, advertisements relating to thelocation of the user device; and transmitting, by the server system, theadvertisements to the user device.
 10. The method of claim 1, furthercomprising: monitoring, by a server system coupled to the first andsecond transceivers of the first and second autonomous vehicles, thenetwork traffic; determining, by the server system, from the networktraffic one or more preferences of a user associated with the userdevice; identifying, by the server system, advertisements relating tothe one or more preferences; and transmitting, by the server system, theadvertisements to the user device.
 11. A system for providing internetaccess comprising: a first controller of a first autonomous vehicle of aplurality of autonomous vehicles programmed to: establish a firstconnection to a user device via a first wireless transceiver of thefirst autonomous vehicle; route network traffic between a network andthe user device over the first connection via the first wirelesstransceiver of the first autonomous vehicle; and if weakening of awireless signal from the user device is detected (a) detect a secondautonomous vehicle of the plurality of autonomous vehicles that iscloser to the user device than the first autonomous vehicle; (b) invokeestablishment of a second connection between the user device and thesecond autonomous vehicle; and (c) transition routing of the networktraffic to the second connection.
 12. The system of claim 11, whereinthe plurality of autonomous vehicles include a plurality of unmannedaerial vehicle (UAV).
 13. The system of claim 11, wherein the pluralityof autonomous vehicles include a plurality of road vehicles.
 14. Thesystem of claim 11, wherein the first controller is further programmedto transition routing of the network traffic to the second connectionwithout perceptible interruption of the network traffic on the userdevice.
 15. The system of claim 11, wherein the plurality of autonomousvehicles are distributed over a geographic area such that transceiversof the plurality of autonomous vehicles provide network access to atleast 90 percent of a geographic area.
 16. The system of claim 11,wherein the first controller is further programmed to: if loss of awireless signal from the user device is detected and if no otherautonomous vehicle of the plurality of autonomous vehicles issufficiently close to the user device to connect to the user device,transmit a list of locations of one or more autonomous vehicles of theplurality of autonomous vehicles closest to the user device to enable auser of the user device to move within a coverage area of at least oneof the one or more autonomous vehicles on the list.
 17. The system ofclaim 11, wherein the first and second connections are WI-FIconnections.
 18. The system of claim 11, further comprising a serversystem in data communication with controllers of the plurality ofautonomous vehicles, the server system programmed to: monitor thenetwork traffic; identify advertisements relating to content in thenetwork traffic; and transmit the advertisements to the user device. 19.The system of claim 11, further comprising a server system in datacommunication with controllers of the plurality of autonomous vehicles,the server system programmed to: monitor a location of the user device;identify advertisements relating to the location of the user device; andtransmit the advertisements to the user device.
 20. The system of claim11, further comprising a server system in data communication withcontrollers of the plurality of autonomous vehicles, the server systemprogrammed to: monitor the network traffic; determine from the networktraffic one or more preferences of a user associated with the userdevice; identify advertisements relating to the one or more preferences;and transmit the advertisements to the user device.